package com.me.test;

import java.util.Random;
import java.util.Scanner;

/**
 * @author Li
 * @Date 2023/4/8 10:50
 */
public class FindMaxAndMin {
    public static void main(String[] args) {
        /**
         * 使用随机数填充数组，自定义数组长度，打印出来
         * 并查找出数组中的
         * 最大值和最小值
         */
        int length = getNum("输入数组长度:");
        int[] array = getArray(length);
        TheFor(array);//打印数组
        int Max = getMax(array);
        int Min = getMin(array);
        System.out.println("该数组中的最大值为:"+Max);
        System.out.println("该数组中的最小值为:"+Min);
    }

    /**
     * 求数组中的最大值
     * @param array
     * @return
     */
    private static int getMax(int[] array) {
        int max = array[0];
        for (int i = 0; i< array.length ; i++) {
            max = max > array[i] ? max : array[i];
        }
        return max;
    }

    /**
     * 求数组中的最小值
     * @param array
     * @return
     */
    private static int getMin(int[] array) {
        int min = array[0];
        for (int i = 0; i< array.length ; i++) {
            min = min < array[i] ? min : array[i];
        }
        return min;
    }

    /**
     * 按照数组的格式打印出数组
     * @param array
     */
    private static void TheFor(int[] array) {
        System.out.print("[");
        for (int i = 0; i < array.length; i++) {
            if (i==array.length-1){
                System.out.println(array[i]+"]");
            }else {
                System.out.print(array[i]+",");
            }
        }
    }

    /**
     * 定义数组长度，获取随机数填充数组
     * @param length
     * @return
     */
    private static int[] getArray(int length) {
       int[] array = new int[length];
        for (int i = 0; i < length; i++) {
         array[i] = getRandom(10);
        }
 return array;
    }

    /**
     * 获取10以内的随机数
     * @param i
     * @return
     */
    private static int getRandom(int i) {
        Random random = new Random();
        return random.nextInt(10);
    }

    /**
     * 键盘输入数组长度
     * @param tips
     * @return
     */
    private static int getNum(String  tips) {
        Scanner scanner= new Scanner(System.in);
        System.out.println(tips);
        int num = scanner.nextInt();
        return num;
    }

}
